package com.top10.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author ellen
 * @since 2018-10-18
 */
@TableName("tb_user_withdrawal")
public class UserWithdrawal extends Model<UserWithdrawal> {

	private static final long serialVersionUID = 1L;

	@TableId(value = "id", type = IdType.AUTO)
	private Integer id;
	private String uid;
	/**
	 * 提现类型
	 */
	@TableField("withdraw_type")
	private String withdrawType;
	@TableField("withdraw_account")
	private String withdrawAccount;
	private BigDecimal money;
	/**
	 * 0：待审核 1：通过  2：拒绝提现 3:提现中
	 */
	private Integer status;
	@TableField("audit_person")
	private String auditPerson;
	@TableField("created_at")
	@JsonFormat(pattern="yyyy-MM-dd")
	private Date createdAt;
	@TableField("updated_at")
	@JsonFormat(pattern="yyyy-MM-dd")
	private Date updatedAt;
	private BigDecimal rate;


	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUid() {
		return uid;
	}

	public void setUid(String uid) {
		this.uid = uid;
	}

	public String getWithdrawType() {
		return withdrawType;
	}

	public void setWithdrawType(String withdrawType) {
		this.withdrawType = withdrawType;
	}

	public String getWithdrawAccount() {
		return withdrawAccount;
	}

	public void setWithdrawAccount(String withdrawAccount) {
		this.withdrawAccount = withdrawAccount;
	}

	public BigDecimal getMoney() {
		return money;
	}

	public void setMoney(BigDecimal money) {
		this.money = money;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getAuditPerson() {
		return auditPerson;
	}

	public void setAuditPerson(String auditPerson) {
		this.auditPerson = auditPerson;
	}

	public Date getCreatedAt() {
		return createdAt;
	}

	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}

	public Date getUpdatedAt() {
		return updatedAt;
	}

	public void setUpdatedAt(Date updatedAt) {
		this.updatedAt = updatedAt;
	}

	public BigDecimal getRate() {
		return rate;
	}

	public void setRate(BigDecimal rate) {
		this.rate = rate;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "UserWithdrawal{" +
				", id=" + id +
				", uid=" + uid +
				", withdrawType=" + withdrawType +
				", withdrawAccount=" + withdrawAccount +
				", money=" + money +
				", status=" + status +
				", auditPerson=" + auditPerson +
				", createdAt=" + createdAt +
				", updatedAt=" + updatedAt +
				", rate=" + rate +
				"}";
	}
}